import {BasicColumn} from '/@/components/Table';
import {FormSchema} from '/@/components/Table';
import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import {UploadTypeEnum} from "@/components/Form/src/jeecg/components/JUpload";
//列表数据
export const columns: BasicColumn[] = [
   {
    title: '注册校区',
    align:"center",
    dataIndex: 'registrationCampus'
   },
   {
    title: '准考证号',
    align:"center",
    dataIndex: 'examIdNumber'
   },
   {
    title: '学号',
    align:"center",
    dataIndex: 'studentId'
   },
   {
    title: '姓名',
    align:"center",
    dataIndex: 'name'
   },
   {
    title: '性别',
    align:"center",
    dataIndex: 'sex'
   },
   {
    title: '身份证号',
    align:"center",
    dataIndex: 'idCardNumber'
   },
   {
    title: '手机号码',
    align:"center",
    dataIndex: 'phoneNumber'
   },
   {
     title: '头像',
     align:"center",
     dataIndex: 'photo',
     slots: { customRender: 'imgSlots' },
   },
   {
    title: '是否已注册',
    align:"center",
    // dataIndex: 'status_dictText',
    slots: { customRender: 'statusSlots' },
  },
  //  {
  //   title: '出生日期',
  //   align:"center",
  //   dataIndex: 'birthDate',
  //   customRender:({text}) =>{
  //     return !text?"":(text.length>10?text.substr(0,10):text)
  //   },
  //  },
  //  {
  //   title: '户籍',
  //   align:"center",
  //   dataIndex: 'householdRegistration'
  //  },
  //  {
  //   title: '民族',
  //   align:"center",
  //   dataIndex: 'nationality'
  //  },
  //  {
  //   title: '政治面貌',
  //   align:"center",
  //   dataIndex: 'politicalStatus'
  //  },
  //  {
  //   title: '健康状况',
  //   align:"center",
  //   dataIndex: 'healthStatus'
  //  },
  //  {
  //   title: '家庭地址',
  //   align:"center",
  //   dataIndex: 'homeAddress'
  //  },
  
  //  {
  //   title: '邮政编码',
  //   align:"center",
  //   dataIndex: 'postalCode'
  //  },
  //  {
  //   title: '邮寄地址',
  //   align:"center",
  //   dataIndex: 'mailingAddress'
  //  },
  //  {
  //   title: '户籍地址',
  //   align:"center",
  //   dataIndex: 'householdAddress'
  //  },
  //  {
  //   title: '语文',
  //   align:"center",
  //   dataIndex: 'chineseScore'
  //  },
  //  {
  //   title: '数学',
  //   align:"center",
  //   dataIndex: 'mathScore'
  //  },
  //  {
  //   title: '英语',
  //   align:"center",
  //   dataIndex: 'englishScore'
  //  },
  //  {
  //   title: '政治',
  //   align:"center",
  //   dataIndex: 'politicsScore'
  //  },
  //  {
  //   title: '物理',
  //   align:"center",
  //   dataIndex: 'physicsScore'
  //  },
  //  {
  //   title: '化学',
  //   align:"center",
  //   dataIndex: 'chemistryScore'
  //  },
  //  {
  //   title: '体育',
  //   align:"center",
  //   dataIndex: 'sportScore'
  //  },
  //  {
  //   title: '历史',
  //   align:"center",
  //   dataIndex: 'historyScore'
  //  },
  //  {
  //   title: '地理',
  //   align:"center",
  //   dataIndex: 'geographyScore'
  //  },
  //  {
  //   title: '生物',
  //   align:"center",
  //   dataIndex: 'biologyScore'
  //  },
  //  {
  //   title: '理化生',
  //   align:"center",
  //   dataIndex: 'lhsScore'
  //  },
  //  {
  //   title: '信息技术',
  //   align:"center",
  //   dataIndex: 'informationTechScore'
  //  },
  //  {
  //   title: '音乐',
  //   align:"center",
  //   dataIndex: 'musicScore'
  //  },
  //  {
  //   title: '美术',
  //   align:"center",
  //   dataIndex: 'artScore'
  //  },
  //  {
  //   title: '考试加分',
  //   align:"center",
  //   dataIndex: 'examBonusPoints'
  //  },
  //  {
  //   title: '总分',
  //   align:"center",
  //   dataIndex: 'totalScore'
  //  },
	
];
//查询数据
export const searchFormSchema: FormSchema[] = [
	{
      label: "准考证号",
      field: 'examIdNumber',
      component: 'Input',
      colProps: {span: 6},
 	},
	{
      label: "姓名",
      field: 'name',
      component: 'Input',
      colProps: {span: 6},
 	},
	{
      label: "手机号码",
      field: 'phoneNumber',
      component: 'Input',
      colProps: {span: 6},
 	},
	{
      label: "是否已注册",
      field: 'status',
      component: 'JDictSelectTag',
      componentProps:{
          dictCode:"student_registered"
      },
      colProps: {span: 6},
 	},
];
//表单数据
export const formSchema: FormSchema[] = [
  {
    label: '注册校区',
    field: 'registrationCampus',
    component: 'Input',
    dynamicRules: ({model,schema}) => {
          return [
                 { required: true, message: '请输入注册校区!'},
          ];
     },
  },
  {
    label: '准考证号',
    field: 'examIdNumber',
    component: 'Input',
    dynamicRules: ({model,schema}) => {
          return [
                 { required: true, message: '请输入准考证号!'},
          ];
     },
  },
  {
    label: '学号',
    field: 'studentId',
    component: 'Input',
  },
  {
    label: '姓名',
    field: 'name',
    component: 'Input',
    dynamicRules: ({model,schema}) => {
          return [
                 { required: true, message: '请输入姓名!'},
          ];
     },
  },
  
  {
    label: '性别',
    field: 'sex',
    component: 'RadioGroup',
    componentProps:{
      options:[
        {
          label:'男',
          value:'男'
        },
        {
          label:'女',
          value:'女'
        }
      ]
    },
    defaultValue: '男',
  },
  {
    label: '手机号码',
    field: 'phoneNumber',
    component: 'Input',
  },
  {
    label: '身份证号',
    field: 'idCardNumber',
    component: 'Input',
  },
  {
    label: '学生关系',
    field: 'relation',
    component: 'JDictSelectTag',
      componentProps:{
        options:[
          {
            label:'父亲',
            value:'父亲'
          },
          {
            label:'母亲',
            value:'母亲'
          },
          {
            label:'其他',
            value:'其他'
          }
        ]
      },
      defaultValue: '父亲',
  },
  {
    label: '人员照片',
    field: 'photo',
    component: 'JUpload',
    helpMessage: '最多上传1张图片',
    componentProps: {
      fileType: UploadTypeEnum.image,
      bizPath: 'newstudent',
      maxCount: 1,
    },
  },
 
  
  // {
  //   field: '',
  //   component: 'Divider',
  //   label: '成绩',
  //   colProps: {span: 24},
  // },
  // {
  //   label: '语文',
  //   field: 'chineseScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '数学',
  //   field: 'mathScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '英语',
  //   field: 'englishScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '政治',
  //   field: 'politicsScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '物理',
  //   field: 'physicsScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '化学',
  //   field: 'chemistryScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '体育',
  //   field: 'sportScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '历史',
  //   field: 'historyScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '地理',
  //   field: 'geographyScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '生物',
  //   field: 'biologyScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '理化生',
  //   field: 'lhsScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '信息技术',
  //   field: 'informationTechScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '音乐',
  //   field: 'musicScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '美术',
  //   field: 'artScore',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '考试加分',
  //   field: 'examBonusPoints',
  //   component: 'InputNumber',
  // },
  // {
  //   label: '总分',
  //   field: 'totalScore',
  //   component: 'InputNumber',
  // },
	// TODO 主键隐藏字段，目前写死为ID
	{
	  label: '',
	  field: 'id',
	  component: 'Input',
	  show: false
	},
];

// 高级查询数据
export const superQuerySchema = {
  registrationCampus: {title: '注册校区',order: 0,view: 'text', type: 'string',},
  examIdNumber: {title: '准考证号',order: 1,view: 'text', type: 'string',},
  name: {title: '姓名',order: 2,view: 'text', type: 'string',},
  sex: {title: '性别',order: 3,view: 'text', type: 'string',},
  idCardNumber: {title: '身份证号',order: 6,view: 'text', type: 'string',},
  studentId: {title: '学籍号',order: 7,view: 'text', type: 'string',},
  phoneNumber: {title: '手机号码',order: 14,view: 'text', type: 'string',}
};

/**
* 流程表单调用这个方法获取formSchema
* @param param
*/
export function getBpmFormSchema(_formData): FormSchema[]{
  // 默认和原始表单保持一致 如果流程中配置了权限数据，这里需要单独处理formSchema
  return formSchema;
}